package com.boot.down.service;

/**
 * 抢红包服务接口
 */
public interface UserRedPaperService {

    /**
     * 用户抢到红包进行添加
     * @param redId 红包编号
     * @param userId 用户Id
     * @return 影响条数
     */
    int addUserRedPaper(Long redId, Long userId);

    /**
     * 用户抢到红包进行添加 (乐观锁重入机制)
     * @param redId 红包编号
     * @param userId 用户Id
     * @return 影响条数
     */
    int addUserRedPaperHappyLock(Long redId, Long userId);

    /**
     * 通过redis 实现抢红包
     * @param redPaperId 抢红包Id
     * @param userId 用户Id
     * @return  0 --> 没有库存  1--> 成功，不是最后一个红包  2--> 成功， 最后一个红包
     *
     */
    Long grapUserRedPaperByRedis(Long redPaperId, Long userId);


}
